#include <stdio.h>

#define MaxVertexNum 100    // 顶点数量的最大值

/***
 * 邻接表
 * */
typedef char VertexType;    // 顶点数据类型
typedef int EdgeType;       // 边权值的数据类型
typedef struct mg_graph
{
    VertexType Vex[MaxVertexNum];                   // 顶点表
    EdgeType Edge[MaxVertexNum][MaxVertexNum];      // 邻接矩阵 边表
    int vexnum, arcnum;                             // 图当前的顶点的顶点数和弧度数
}MGraph;

/***
 * 邻接矩阵
 * */
typedef struct ArcNode {        // 边表节点
    int adjvex;                 // 该弧度所指向指针节点的位置
    ArcNode *next;              // 指向下一条弧的指针
}ArcNode;

typedef struct VNode            // 顶点表节点
{                   
    VertexType data;            // 顶点信息
    ArcNode *first;             // 指向第一条依附在该顶点的弧
}VNode, AdjList[MaxVertexNum];

typedef struct graph
{
    AdjList vertices;           // 邻接表
    int vexnum, arcnum;         // 图当前的顶点的顶点数和弧度数
}ALGraph;

/***
 * 基本操作
 * */







